package com.gzhryc.shared_device.bxscn.code;

import com.gzhryc.shared_device.bxscn.code.dao.db.PortableEnergyCabinet;
import com.gzhryc.shared_device.bxscn.code.dao.db.PortableEnergyCabinetSlot;

import java.util.List;

/**
 * 充电插座缓存管理
 * @version 2023-03-03
 */
public interface IBXSCNCacheManager {

    public PortableEnergyCabinet getPortableEnergyCabinet(String deviceSn);

    public void savePortableEnergyCabinet(PortableEnergyCabinet portableEnergyCabinet);

    public void removeBatteryCabinet(String deviceSn);

    public PortableEnergyCabinetSlot getPortableEnergyCabinetSlot(String deviceSn, Integer slotNum);

    public void savePortableEnergyCabinetSlot(PortableEnergyCabinetSlot batteryCabinetSlot);

    public void removePortableEnergyCabinetSlot(String deviceSn,Integer slotNum);

    public void removePortableEnergyCabinet(String deviceSn);

    public List<PortableEnergyCabinet> findBXSCNDevice();

    public void setCommandResult(String deviceSn,String messageId,String content);

    public <T> T getCommandResult(String deviceSn,String messageId,Class<T> clazz);
}
